package com.vsen.lpr.mapper;

import com.vsen.lpr.entity.ShoppingCart;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.vsen.lpr.entity.ext.ShoppingCartInfoDo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author yy
 * @since 2021-08-11
 */
@Mapper
public interface ShoppingCartMapper extends BaseMapper<ShoppingCart> {

    List<ShoppingCart> selectByUserId(@Param("userId") String userId);

    Integer selectByProductIdAndLabel(@Param("productId") Integer productId, @Param("labelId") Integer labelId, @Param("userId") String userId);

    Integer selectByProductId(@Param("productId")Integer productId, @Param("userId")String userId);

    Integer selectNumByProductId(@Param("productId")Integer productId,@Param("labelId") Integer labelId, @Param("userId")String userId);

    Integer selectNumByProductIdNoLabel(@Param("productId") Integer productId, @Param("userId") String userId);

    Integer addShoppingCart(@Param("productId") Integer productId, @Param("labelId") Integer labelId, @Param("userId") String userId);

    Integer addShoppingCartNoLabel(@Param("productId")Integer productId, @Param("userId")String userId);

    Integer reduceShoppingCart(@Param("productId") Integer productId, @Param("labelId") Integer labelId, @Param("userId") String userId);

    Integer reduceShoppingCartNoLabel(@Param("productId") Integer productId, @Param("userId") String userId);

    Integer deleteShoppingCart(@Param("productId") Integer productId, @Param("labelId") Integer labelId, @Param("userId") String userId);

    Integer deleteShoppingCartNoLabel(@Param("productId")  Integer productId, @Param("userId") String userId);

    List<ShoppingCartInfoDo> selectCartInfoByUserId(@Param("userId") String userId, @Param("shopId") Integer shopId);


}
